package com.sojson.entity.po;

import java.util.ArrayList;
import java.util.Date;

import com.sojson.base.impl.BaseDto;
import com.sojson.enums.core.EGeneralStatus;
import com.sojson.util.DateUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 广告表Bean
 * 
 * @author liu
 * @date 2021-03-16
 */
@ApiModel("广告表Bean")
public class Ad extends BaseDto {

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    private static final long serialVersionUID = 1615864295528L;

    @ApiModelProperty("广告标题")
    private String title;
    @ApiModelProperty("广告位链接")
    private String url;
    @ApiModelProperty("链接类型 1站内链接 2外链")
    private Integer urlType;
    @ApiModelProperty("链接类型(1:链接,2:商品列表类型ID,3:商品详情ID,4:文章ID,5:活动ID,6:纯展示)")
    private Integer contentType;
    @ApiModelProperty("广告内容(图片)")
    private String content;
    @ApiModelProperty("状态 1启用 2禁用")
    private Integer status;
    @ApiModelProperty("所属广告位")
    private Integer positionId;
    @ApiModelProperty("排序，越大越靠前")
    private Integer sortNum;
    @ApiModelProperty("是否永久展示1否 2是")
    private Integer isForever;
    @ApiModelProperty("有效期开始时间")
    private Date startTime;
    @ApiModelProperty("有效期结束时间")
    private Date endTime;
    @ApiModelProperty("创建时间")
    private Date createdAt;
    @ApiModelProperty("更新时间")
    private Date updatedAt;
    /** 广告表集合 */
    private ArrayList<Integer> ids;
    /** 广告表集合 */
    private ArrayList<Ad> ads;

    /**
     * 以上由工具自动生成，以下为手动添加
     */

       /**
        * Empty constructor
        */
    public Ad() {

    }

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    /**
     * 获取 广告标题
     */
    public String getTitle() {
        return title;
    }

    /**
     * 设置 广告标题
     */
    public void setTitle(String title) {
        this.title = title;
    }

    /**
     * 获取 广告位链接
     */
    public String getUrl() {
        return url;
    }

    /**
     * 设置 广告位链接
     */
    public void setUrl(String url) {
        this.url = url;
    }

    /**
     * 获取 链接类型 1站内链接 2外链
     */
    public Integer getUrlType() {
        return urlType;
    }

    /**
     * 设置 链接类型 1站内链接 2外链
     */
    public void setUrlType(Integer urlType) {
        this.urlType = urlType;
    }

    /**
     * 获取链接类型(1:链接,2:商品列表类型ID,3:商品详情ID,4:文章ID,5:活动ID,6:纯展示)
     * 
     * @return
     */
    public Integer getContentType() {
        return contentType;
    }

    /**
     * 设置链接类型(1:链接,2:商品列表类型ID,3:商品详情ID,4:文章ID,5:活动ID,6:纯展示)
     * 
     * @param contentType
     */
    public void setContentType(Integer contentType) {
        this.contentType = contentType;
    }

    /**
     * 获取 广告内容(图片)
     */
    public String getContent() {
        return content;
    }

    /**
     * 设置 广告内容(图片)
     */
    public void setContent(String content) {
        this.content = content;
    }

    /**
     * 获取 状态 1启用 2禁用
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置 状态 1启用 2禁用
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取 所属广告位
     */
    public Integer getPositionId() {
        return positionId;
    }

    /**
     * 设置 所属广告位
     */
    public void setPositionId(Integer positionId) {
        this.positionId = positionId;
    }

    /**
     * 获取 排序，越大越靠前
     */
    public Integer getSortNum() {
        return sortNum;
    }

    /**
     * 设置 排序，越大越靠前
     */
    public void setSortNum(Integer sortNum) {
        this.sortNum = sortNum;
    }

    /**
     * 获取 是否永久展示1否 2是
     */
    public Integer getIsForever() {
        return isForever;
    }

    /**
     * 设置 是否永久展示1否 2是
     */
    public void setIsForever(Integer isForever) {
        this.isForever = isForever;
    }

    /**
     * 获取 有效期开始时间
     */
    public Date getStartTime() {
        return startTime;
    }

    /**
     * 设置 有效期开始时间
     */
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    /**
     * 获取 有效期结束时间
     */
    public Date getEndTime() {
        return endTime;
    }

    /**
     * 设置 有效期结束时间
     */
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    /**
     * 获取 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取 更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置 更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取 广告表集合
     */
    public ArrayList<Integer> getIds() {
        return ids;
    }

    /**
     * 设置 广告表集合
     */
    public void setIds(ArrayList<Integer> ids) {
        this.ids = ids;
    }

    /**
     * 获取 广告表集合
     */
    public ArrayList<Ad> getAds() {
        return ads;
    }

    /**
     * 设置 广告表集合
     */
    public void setAds(ArrayList<Ad> ads) {
        this.ads = ads;
    }

    /**
     * 以上由工具自动生成，以下为手动添加
     */

    /**
     * 插入初始化
     */
    public void insertInit() {
        setStatus(EGeneralStatus.NORMAL.getCode());
        Date now = DateUtil.nowDate();
        setCreatedAt(now);
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void updateInit() {
        Date now = DateUtil.nowDate();
        setUpdatedAt(now);
    }

}